1. Field of the Invention
The present invention relates generally to graphical user interfaces (GUIs) of computer operating systems and application programs and, more particularly, but without limitation, to a method and system for modifying windows.
2. Background Information and Description of Related Art
A computer workstation requires an operating system to manage and direct workstation objects during the performance of workstation tasks, such as adding/deleting users, printing, storing/retrieving data, adding/removing peripherals, etc. Before the performance of a workstation task, the user typically must access the operating system and input a command that directs the operating system to perform the desired task. Graphical user interfaces ("GUIs") provide an interface between a user and the operating system. GUIs typically represent objects (e.g., documents, printers, hard drives, programs, etc) as icons on a display screen. These icons may be individually opened as windows to show attributes of the object.
FIG. 1 illustrates a prior art, pictorial view of multiple stacked windows. Computer display screen 8 concurrently displays windows 2, 4, and 6. Window 2 is "stacked on" (i.e. positioned over) window 4, which is stacked on window 6. Window 2 includes the frame that surrounds the window, title bar 10 (which indicates that the window contains a document), margin 3, and the text in the document. The text in window 2 cannot be fully viewed because the window has been reduced in size.
A user frequently desires to selectively resize each stacked window so that it is as small as possible, but still displays its full contents. For example, the user may desire to simultaneously view the contents of all the opened windows by making each window as small as possible. Using a GUI, the user can manipulate the horizontal and vertical size and arrangement of the windows. That is, the user can manipulate the size and/or position of a window on the screen. For example, to manipulate the vertical size and/or position of window 2, the user first positions mouse cursor 1 over the bottom frame edge of window 2 (see FIG. 1), presses a mouse button (not shown), and then drags the mouse cursor upward or downward to adjust the position of the bottom frame edge of window 2. The user can also drag the top frame edge of window 2. Further, in a similar fashion, the user can adjust the horizontal size and/or position of window 2.
If window 2 is horizontally resized, left margin 3 remains. However, the size of margin 3 will be proportionally reduced or increased according to the horizontal size reduction or increase, respectively. If the right frame edge is positioned closer to the left frame edge (i.e. reduced in size), even less of the text can be viewed by the user. Similarly, if the bottom frame edge is positioned closer to the top frame edge, even less of the text can be viewed by the user. Therefore, when windows are selectively reduced in horizontal and vertical size, frequently their contents cannot be entirely seen.
Accordingly, there is a need for a technique that enables a user to modify the shape of a window so that the window is the smallest possible size, yet continues to display its contents.